home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus 1995 #5 & #6
/
Amiga Plus CD - 1995 - No. 5 and 6.iso
/
pd
/
serien
/
purity
/
nr.11
/
kickpascal-programme
/
prim
/
primarray.p
< prev
next >
Wrap
Text File
|
1995-04-21
|
2KB
|
66 lines
{*************************************************************
Nachdem auf Purity 8 schon ein Primzahlenprogramm war, hier
ein anderes. Die Grundlage besteht aus einem Array. Ich wußte
auch mal eine rekursive Version, aber erstens ist diese schnell
und zweitens habe ich die rekursive vergessen. Rekursion war
sowieso schon immer ein Problem von mir. Rekursiv Bäume ausgeben !
Bäääh !!
Den Primzahlenbereich kann man durch die Konstante nmax ändern.
Man muß nur aufpassen, daß der Speicher groß genug ist !
Das kann man z.B. vorher mit freestack abfragen.
Viel Spaß Rogersoft
Michael Klein,
Am Wasserturm 6
6720 Speyer
****************************************************************}
PROGRAM primzahlen_mit_array;
CONST nmax=1500;
VAR prim:ARRAY[1..nmax] OF BOOLEAN;STATIC;
i,j:LONG;
PROCEDURE init; { Array löschen }
BEGIN
FOR i:=2 TO nmax DO prim[i]:=TRUE;
prim[1]:=FALSE;
END;
PROCEDURE berechnung; {Array belegen}
BEGIN
FOR i:=1 TO nmax DO
BEGIN
IF prim[i]=TRUE THEN
FOR j:=2 TO nmax DIV i DO prim[i*j]:=FALSE;
END;
END;
PROCEDURE ausgabe;
BEGIN
FOR i:=2 TO nmax DO
IF prim[i]=TRUE THEN BEGIN
Write(i:6,',');
END;
writeln(' <Return>');
readln;
END;
BEGIN {Hauptprogramm}
IF fromWB THEN BEGIN
Reset(input,"CON:0/0/650/256/Primzahlen mit Array | Coded on 07.03.93 by Michel (Rogersoft) for PURITY ");
output:=input;
END;
init;
berechnung;
ausgabe;
IF fromWB THEN Close(input);
END.